import request from "@/utils/request";

const DAILYRECORD_BASE_URL = "/api/v1/dailyRecords";

const DailyRecordAPI = {
    /** 获取日常记录分页数据 */
    getPage(queryParams?: DailyRecordPageQuery) {
        return request({
            url: `${DAILYRECORD_BASE_URL}/page`,
            method: "get",
            data: queryParams,
        });
    },

  getLatest() {
    return request({
      url: `${DAILYRECORD_BASE_URL}/latest`,
      method: "get",
    });
  },
    /**
     * 获取日常记录表单数据
     *
     * @param id 日常记录ID
     * @returns 日常记录表单数据
     */
    getFormData(id: number) {
        return request({
            url: `${DAILYRECORD_BASE_URL}/${id}/form`,
            method: "get",
        });
    },

    /** 添加日常记录*/
    add(data: DailyRecordForm) {
        return request({
            url: `${DAILYRECORD_BASE_URL}`,
            method: "post",
            data: data,
        });
    },

    /**
     * 更新日常记录
     *
     * @param id 日常记录ID
     * @param data 日常记录表单数据
     */
     update(id: number, data: DailyRecordForm) {
        return request({
            url: `${DAILYRECORD_BASE_URL}/${id}`,
            method: "put",
            data: data,
        });
    },

    /**
     * 批量删除日常记录，多个以英文逗号(,)分割
     *
     * @param ids 日常记录ID字符串，多个以英文逗号(,)分割
     */
     deleteByIds(ids: string) {
        return request({
            url: `${DAILYRECORD_BASE_URL}/${ids}`,
            method: "delete",
        });
    }
}

export default DailyRecordAPI;

/** 日常记录分页查询参数 */
export interface DailyRecordPageQuery extends PageQuery {
    /** 记录日期 */
    recordDate?: [string, string];
    /** 记录标题 */
    recordTitle?: string;
    /** 创建人 */
    createBy?: string;
}

/** 日常记录表单对象 */
export interface DailyRecordForm {
    /** 记录ID */
    id?:  number;
    /** 记录日期 */
    recordDate?:  Date;
    /** 记录标题 */
    recordTitle?:  string;
    /** 记录内容 */
    recordContent?:  string;
    /** 上传的图片路径（JSON 格式存储多个图片路径） */
    images?:  string;
    /** 创建人 */
    createBy?:  string;
}

/** 日常记录分页对象 */
export interface DailyRecordPageVO {
    /** 记录ID */
    id?: number;
    /** 记录日期 */
    recordDate?: Date;
    /** 记录标题 */
    recordTitle?: string;
    /** 记录内容 */
    recordContent?: string;
    /** 上传的图片路径（JSON 格式存储多个图片路径） */
    images?: string;
    /** 创建人 */
    createBy?: string;
}
